﻿''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Codigo de proyecto: 306 F
' Nombre proyecto: Framework Web LNK
' Nombre del módulo: Temas, Skins y CSS
' Tarea/s relacionada/s: Temas y Skins
' Fecha creacion: 05/11/2009
' Autor/es original/es: Mauro Cristy mcristy@cdt-ar.com 
' Fecha modificacion: No Aplica
' Autor modificacion: No Aplica
' R02 relacionados: 11
' R03 relacionados: No Aplica
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Partial Public Class Temas
    Inherits System.Web.UI.Page

    Public masterpage As FormBase

    ''' <summary>
    ''' Esta página se encarga de la administración de los temas que determinan el estilo visual de la aplicación.
    ''' </summary>
    ''' <param name="sender">Objeto emisor del evento.</param>
    ''' <param name="e">Argumentos pasados por parámetro.</param>
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Session("AppPage") = "Temas"

        Dim obr As New BR.Web.Principal.Temas
        masterpage = CType(Page.Master, FormBase) 'instancia iniciada de la clase de masterpage

        masterpage.lblTitulo = "Temas Definidos"
        masterpage.InicializarPagina(obr)
    End Sub

    Protected Overloads Sub OnPreInit() Handles Me.PreInit

        'Aplicacion de Tema
        If Not Session("Tema") Is Nothing Then
            Page.Theme = Session("Tema").ToString
        End If
    End Sub

#Region "Metodos"

    ''' <summary>
    ''' Establece el contenido del combo de temas a seleccionar.
    ''' </summary>
    ''' <param name="sender">Objeto emisor del evento.</param>
    ''' <param name="e">Argumentos pasados por parámetro.</param>
    Protected Sub strTheme_DataBound(ByVal sender As Object, ByVal e As System.EventArgs)
        cboTemas1.SelectedValue = Page.Theme
    End Sub

    ''' <summary>
    ''' Evento que se dispara cada vez que selecciona un tema desde la lista de temas disponibles.
    ''' </summary>
    ''' <remarks>Cuando un operador elige un tema, se guarda su elección en su perfil, para poder restaurarlo a futuro.</remarks>
    ''' <param name="sender">Objeto emisor del evento.</param>
    ''' <param name="e">Argumentos pasados por parámetro.</param>
    Protected Sub strTheme_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs)

        'Asigno el tema seleccionado
        Session("Tema") = cboTemas1.SelectedValue

        Dim sCondicion, sValor As String
        Dim iResult As Integer

        Try
            'Carga variables parametro string
            sCondicion = "cd_operador = " + SystemFunctions.Strings.StringToSql(Membership.GetUser().ToString)
            sValor = SystemFunctions.Strings.StringToSql(Session("Tema").ToString)

            'Se guarda el tema seleccionado en la tabla operadores
            iResult = StartFrame.DA.Sql.Update(ConnectionString, "wad_operadores", "cd_tema", sValor, Nothing, sCondicion)

            Server.Transfer(Request.FilePath)
        Catch ex As Exception
            'Fallo
        End Try

    End Sub

#End Region

End Class



